﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace Keepo.Models
{
    public class RegisterData
    {
        [Required(ErrorMessage = "יש להזין דוא\"ל")]
        [RegularExpression(@"\b[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b", ErrorMessage = "דוא\"ל לא תקין")]
        public string Email { get; set; }

        [Required(ErrorMessage = "יש להזין סיסמה")]
        public string Password { get; set; }

        [Required(ErrorMessage = "יש להזין סיסמה בשנית")]
        [Compare("Password", ErrorMessage = "הסיסמה אינה זהה")]
        public string ConfirmedPassword { get; set; }

        [Required(ErrorMessage = "יש להזין שם פרטי")]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "יש להזין שם משפחה")]
        public string LastName { get; set; }

        public bool NewsletterSubscription { get; set; }

        [MustBeTrue]
        public bool AcceptTerms { get; set; }
    }

    public sealed class MustBeTrueAttribute : ValidationAttribute
    {
        public override bool IsValid(object value)
        {
            return Object.Equals(value, true);
        }
    }
}